// utils/permission.js
export default {
  // 检查录音权限
  async checkRecordPermission() {
    try {
      // 获取当前的权限设置
      const res = await uni.getSetting()
      
      // 检查录音权限状态
      if (res.authSetting['scope.record'] === undefined) {
        // 未请求过权限，发起授权请求
        return this.requestRecordPermission()
      } else if (res.authSetting['scope.record'] === true) {
        // 已授权
        return true
      } else {
        // 已拒绝授权
        return false
      }
    } catch (error) {
      console.error('获取权限设置失败:', error)
      return false
    }
  },
  
  // 请求录音权限
  async requestRecordPermission() {
    try {
      const res = await uni.authorize({
        scope: 'scope.record'
      })
      // 用户同意授权
      return true
    } catch (error) {
      // 用户拒绝授权
      return false
    }
  },
  
  // 打开权限设置页面
  openSetting() {
    return new Promise((resolve, reject) => {
      uni.openSetting({
        success(res) {
          resolve(res.authSetting)
        },
        fail(err) {
          reject(err)
        }
      })
    })
  }
}